春招:
网易现面
一面
- 首先项目起手(大概十几分钟,很细节,很现实),你负责什么,哪一块;
项目结构(手写),大致怎么分包的,比如用到的mvp怎么分的,还有数据库怎么写的,有哪些表 - activity的启动模式
- 有用过service吗,它能干些什么
- handler消息机制
- 执行异步任务有哪些方法,有没有了解类似的开源框架
- 有没有用过线程池,怎么用的,遇到了什么问题
- 有没有熟悉的开源框架,有没有看过源码,具体说一下原理,以及用框架遇到哪些问题,你怎么解决的
- android 7.0 8.0 9.0的新特性
- 运行时权限在项目中怎么做的
- 你怎么学习framework的,学习了什么
- startService怎么实现的
- 有没有写过自定义View
- view事件分发机制,有没有具体用过
- 有没有用过动画
- 怎么做内存优化的,UI卡顿怎么办,图片压缩怎么做的
- 内存泄漏检测工具
- 登录密码如何加密的,除了MD5有没有了解过其他的加密方式
二面
- 手写堆排序
- 内存泄漏场景
- fragment底层管理方式,生命周期、onattach为什么在oncreate前面
- webview如何与JS交互
- surfaceview启动模式
- 反射
- 注解有没有用过,注解的分类,元注解是什么,作用是什么
- 实现一个多级列表,画出类图
- 你认为设计模式是什么。实际用过哪些设计模式,单例如何保证线程安全,有哪些方法
- 引用分类
腾讯电面+现面
腾讯,唉 面了不知道多少次了,不想分了,列下记得的把
- 项目,mvp、mvc、mvvm的区别
- 四大组件,你怎么理解activity,onpause、onstop的区别,生命周期
- 进程和线程的区别
- os对内存管理的方式
- jvm内存分区,gc回收算法
- 快排思想,时间复杂度(原因),稳定性
- 用户点击app图标到app初始化完成,经历了什么
- 操作系统如何启动一个进程或者线程
- binder工作原理,比如startService
- activity与fragment的区别
- ANR、内存泄漏检测
- 浏览器打开一个网址经历了啥,tcp相关
- android webview的webkit与chromium的区别
- android 5.0 6.0 之后对系统的优化包括哪些
- 归并排序与希尔排序,原理、时间复杂度什么的
- thread和runnable的联系和区别
- cpu和gpu的数量级有什么区别(???)
- arrayList和Vector的区别
小米电面
- 项目,opengl
- bitmap如何将一张高分辨率的图片加载到内存(不降低分辨率)
- 如何检测链表是否有环
- 有没有了解音视频方面的播放框架
- asyncTask可以并行执行任务?
- lruCahe实现,源码
- 图片三级缓存怎么做的
- 如何实现线程互斥,互斥与同步的区别
- String的hashcode,避免hash碰撞的处理
- 对安卓的理解(????wtf)
- binder的原理,好处、为什么采用binder作为android ipc方式
京东现面
(吐槽下先:最坑京东,没有之一,谨慎选择
- activity启动模式,应用场景
- fragment生命周期与activity生命周期的互动
- view的绘制过程,自定义View的过程
- 动画类型,使用动画的是哪个类
- context的子类,applicationContex与activity的区别
- 如果加载一个透明activity,上一个activity的生命周期变化
- activity的窗口层级
爱奇艺电面
- 泛型、类型擦除
- 为什么有拆箱装箱操作
- 类加载,内存模型,垃圾回收
- 四大组件有哪些可以不用在manifest中注册
- view、window、surface、canvas关系or区别
- 线程同步,synchronized,valotile
- service与intentservice
- handler机制,多个线程的handler绑定同一个looper,其中一个handler发送消息,其他的handler能否接收到消息
- binder优点
- 抽象类和接口的区别
- ANR
- 如何查找程序中的死循环
- 其他貌似都是项目相关
秋招
秋招因为实习,没怎么投,而且算正常面试的话也只面了一家,最后运气也还不错。
腾讯
可能是岗位的关系,面试中没有太多android相关知识,大部分是四大亡命法典。
- Http相关,TCP/UDP,get/post,网络分层,http请求优化,三次握手四次挥手,https。
- 进程与线程,虚拟内存,进程同步互斥(pv),进程间通信,线程同步。
- 权限修饰符,static关键字,equals/hashcode方法, GC相关
- 单例dcl手写及原理说明、单例的作用
- Json的好处和坏处
- 了解哪些设计模式
- 了解哪些第三方框架,okhttp和其他网络请求库的区别。
- 还有个挺好的问题:Android中的binder机制更类似于操作系统中哪种IPC方式?…感觉没有特别准确的答案。
- 剩下就是些数据结构和算法,就不列了,剑指了解下, ┐( ̄ー ̄)┌ 反正算法这个东西是逃不掉的。
- 对称加密/非对称加密,非对称加密为什么不安全。
over
这一年算是结束了,最后也还是实现了一开始的小小愿望。
总之,找工作还是需要运气+积累,慎终如始,则无败事,没准下一个转弯你就会得到你想要的。